package entidades;

import gestordeentidades.persistance.DataBaseObject;
import java.util.Objects;

/**
 * Trabalho DAS - 2014/2015
 * @author a21210380, a21190325, a21210392
 */
public class Textura extends DataBaseObject {
    public static final String NO_TEXTURE = "sem textura";
    private int z;
    private String caminhoDoFicheiro;

    public Textura(int z, String caminhoDoFicheiro) {
        this.z = z;
        this.caminhoDoFicheiro = caminhoDoFicheiro;
    }
    
    public Textura(Textura textura) {
        this.z = textura.getZ();
        this.caminhoDoFicheiro = textura.getCaminhoDoFicheiro();
    }

    public String getCaminhoDoFicheiro() {
        return caminhoDoFicheiro;
    }

    public Textura setCaminhoDoFicheiro(String caminhoDoFicheiro) {
        this.caminhoDoFicheiro = caminhoDoFicheiro;
        return this;
    }

    public int getZ() {
        return z;
    }

    public Textura setZ(int z) {
        this.z = z;
        return this;
    }
    
    public Textura set(Textura textura) {
        this.caminhoDoFicheiro = textura.getCaminhoDoFicheiro();
        this.z = textura.getZ();
        return this;
    }
    
    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (obj == this) {
            return true;
        }
        if (obj instanceof Textura) {
            Textura c = (Textura) obj;
            return caminhoDoFicheiro.equals(c.getCaminhoDoFicheiro()) && z == c.getZ();
        }
        return false;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 17 * hash + this.z;
        hash = 17 * hash + Objects.hashCode(this.caminhoDoFicheiro);
        return hash;
    }
}
